package com.binance.assetservice.vo.response;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.binance.master.commons.ToString;
import com.google.common.collect.Lists;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

@Setter
@Getter
@ApiModel
public class UserAssetResponse extends ToString {
    private static final long serialVersionUID = 6033615280462430605L;

    @ApiModelProperty
    private final List<UserAsset> userAssetList = Lists.newArrayList();

    @Setter
    @Getter
    public static class UserAsset extends ToString {
        /**
         * 
         */
        private static final long serialVersionUID = -3726787910160850618L;
        @ApiModelProperty
        private String uid;
        @ApiModelProperty
        private String asset;
        @ApiModelProperty
        private String assetName;
        @ApiModelProperty
        private BigDecimal free;
        @ApiModelProperty
        private BigDecimal locked;
        @ApiModelProperty
        private BigDecimal freeze;
        @ApiModelProperty
        private BigDecimal withdrawing;
        @ApiModelProperty
        private BigDecimal ipoing;
        @ApiModelProperty
        private BigDecimal ipoable;
        @ApiModelProperty
        private BigDecimal storage;
        @ApiModelProperty
        private Boolean forceStatus;
        @ApiModelProperty
        private Boolean resetAddressStatus;
        @ApiModelProperty
        private Date modifiedAt;
        @ApiModelProperty
        private Date createdAt;
        @ApiModelProperty
        private int test;
        @ApiModelProperty
        private Boolean sameAddress;
        @ApiModelProperty
        private Boolean depositTipStatus;
        @ApiModelProperty
        private String assetLabel;
        @ApiModelProperty
        private String assetLabelEn;
        @ApiModelProperty
        private String depositTipEn;
        @ApiModelProperty
        private String depositTipCn;
        @ApiModelProperty
        private String chargeDescCn;
        @ApiModelProperty
        private String chargeDescEn;
        @ApiModelProperty
        private Boolean isLegalMoney;
        @ApiModelProperty
        private String logoUrl;

    }
}
